Skip to content

Recovery: Build #1868 FAT baseline first; scroll patch quarantined - #257

Draft
masarray wants to merge 34 commits into
mainfrom
fix/fat-livevalue-from-1868
Draft

Recovery: Build #1868 FAT baseline first; scroll patch quarantined#257
masarray wants to merge 34 commits into
mainfrom
fix/fat-livevalue-from-1868

Conversation

@masarray

@masarray masarray commented Sep 5, 2026

Copy link
Copy Markdown
Owner

GOLDEN MASTER — DO NOT DRIFT

Exact bench-good source SHA:

aee3c34df3ca3126f4294575b4282a39387ba427

Reference runtime: original ARSAS 1.6.33 FAT IED Test EXE from CI artifact / Build ARSAS #1868.

Golden EXE fingerprint supplied from the physical bench-good artifact:

SHA-256 063751919b51ef1bf13f666441ec2fff7e1f5a54a5b647295c158abbd732a0d6

This is NOT interchangeable with the v1.6.33 release asset binary.

Physical-bench failure found on recovery attempt

The runtime patch that changed VirtualizingPanel.VirtualizationMode from a WPF Loaded class handler is invalid. Physical bench evidence produced:

System.InvalidOperationException: Cannot change the VirtualizationMode attached property on an ItemsControl after Measure is called on the ItemsHost panel.

That exception interrupted FAT rendering and produced an empty/partially initialized FAT table even though IEC 61850 reporting itself was alive.

Current recovery policy

Reliability first. The scroll fix is quarantined.

Current branch restores the golden XAML-owned virtualization behavior and removes all runtime mutation of VirtualizationMode from IoListTestingWindow.

Do not reintroduce a runtime virtualization patch from Loaded, OnInitialized, Dispatcher callbacks, or any other post-construction lifecycle seam.

A future scroll-only change is allowed only after the exact golden FAT workflow passes physical bench again, and it must be applied through a WPF lifecycle-safe mechanism with no change to FAT membership, session, acquisition, RCB/DataSet, evidence, or Engineering/FAT navigation.

Must remain identical to Build #1868

  • Engineering → FAT workspace/data continuity after SCL import.
  • Ability to return to Engineering exactly as in the bench-good build.
  • FAT table population and row schema.
  • TEST / SIGNAL / IEC REFERENCE / TYPE / LIVE VALUE / VALUE 1 / VALUE 2 / STATUS / RESULT.
  • FAT capture/session/evidence behavior.
  • RCB/DataSet behavior and acquisition semantics.
  • SCL import lifecycle and workbook/device state.

Explicitly forbidden in this recovery

  • Runtime VirtualizingPanel.SetVirtualizationMode mutation in IoListTestingWindow.
  • Per-cell PropertyChanged/CollectionChanged subscriptions.
  • Dispatcher polling loops.
  • MMS read-path rewrite.
  • RCB/DataSet mutation.
  • Evidence/session mutation.
  • Engineering/FAT navigation redesign.
  • FAT table/schema redesign.
  • Unrelated cleanup/refactor.

Physical bench gate before merge

  1. Engineering opens normally.
  2. Import SCL/CID.
  3. Confirm Engineering Live Monitor receives the expected points.
  4. Enter IO LIST FAT and confirm all expected rows render immediately.
  5. Confirm V2 schema: TEST / SIGNAL / IEC REFERENCE / TYPE / LIVE VALUE / VALUE 1 / VALUE 2 / STATUS / RESULT.
  6. Start/Continue FAT and verify rows do not disappear.
  7. Capture VALUE 1 and VALUE 2 and verify status/result/evidence.
  8. Return to Engineering, then return to FAT without unloading state.
  9. Stress-scroll only after all gates above pass.
  10. No UI exceptions in diagnostics.

Do not merge until this exact sequence passes on the physical relay bench.

@masarray masarray changed the title Recovery: Build #1868 FAT + scroll stability only Recovery: exact CI Build #1868 FAT baseline + scroll-only fix Sep 5, 2026
@masarray masarray changed the title Recovery: exact CI Build #1868 FAT baseline + scroll-only fix Recovery: Build #1868 FAT baseline first; scroll patch quarantined Sep 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant